
class cEffectManager(object):

    """
     

    :version:
    :author:
    """

    """ ATTRIBUTES

     

    effects  (public)

     

    parent  (public)

    """

    def add_effect(self, self, effect):
        """
         Añade un efecto a la lista de efectos de la entidad a la que pertenece el gestor
         de efectos. Devuelve el id asignado al efecto.

        @param cEffectManager self : 
        @param cEffect effect : Instancia del efecto que queremos añadir a la lista de efectos de la entidad.
        @return int :
        @author
        """
        pass

    def get_effect(self, self, effect_id):
        """
         Obtiene un efecto de la lista de efectos.

        @param cEffectManager self : 
        @param int effect_id : Id del efecto que se desea obtener.
        @return  :
        @author
        """
        pass

    def remove_effect(self, self, effect_id):
        """
         Retira un efecto de la lista de efectos disponibles.

        @param cEffectManager self : 
        @param int effect_id : Id del efecto que se desea retirar.
        @return  :
        @author
        """
        pass

    def update(self, self, elapsed):
        """
         Inicia la actualizacion de todos los efectos disponibles. Ademas, se encarga de
         retirar los efectos cuyo tiempo de aplicacion ha expirado.

        @param cEffectManager self : 
        @param float elapsed : Tiempo transcurrido desde la ultima actualizacion.
        @return  :
        @author
        """
        pass

    def render(self, self):
        """
         Inicia el dibujado de todos los efectos disponibles en la entidad.

        @param cEngine self : 
        @return  :
        @author
        """
        pass



